package com.cloud.pole.user.model.entity.account;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.validator.constraints.NotEmpty;

import lombok.Data;

/**
 * @author 
 */
@Table(name="user_withdraw")
@Data
public class UserWithdraw implements Serializable {
	
	public static int OBJECT_TYPE_ID_USERWITHDRAW = 10;
	
	/**
	 * 提现状态(0申请 1已支付，-1退回)
	 */
	public static int WITHDRAW_STATUS_DEFAULT = 0;
	public static int WITHDRAW_STATUS_OK = 1;
	public static int WITHDRAW_STATUS_BACK = -1;

	
	
    /**
     * id
     */
    @Id
    @Column(name="withdraw_id")
    private Integer withdrawId;

    /**
     * 用户id
     */
    @NotEmpty
    @Column(name="user_id")
    private Long userId;

    /**
     * 用户名
     */
    @NotEmpty
    @Column(name="user_name")
    private String userName;

    /**
     * 提现金额
     */
    @NotEmpty
    @Column(name="withdraw_account")
    private Integer withdrawAccount;

    /**
     * 实际支付金额
     */
    @NotEmpty
    @Column(name="real_account")
    private Integer realAccount;

    /**
     * 税费
     */
    @Column(name="tax_account")
    private Integer taxAccount;

    /**
     * 提现时间
     */
    @Column(name="withdraw_time")
    private Date withdrawTime;

    /**
     * 提现状态(0申请 1已支付，-1退回)
     */
    @Column(name="withdraw_status")
    private Integer withdrawStatus;

    /**
     * 有无发票(0无 1有 )
     */
    @Column(name="bill_flag")
    private Integer billFlag;

    /**
     * 备注
     */
    @Column(name="memo")
    private String memo;

    /**
     * 审核人人id
     */
    @Column(name="check_user_id")
    private Integer checkUserId;

    /**
     * 审核时间
     */
    @Column(name="check_time")
    private Date checkTime;

    /**
     * 审核说明
     */
    @Column(name="check_note")
    private String checkNote;

    /**
     * 银行类型
     */
    @Column(name="bank_type_id")
    private String bankTypeId;
    
    /**
     * 银行类型
     */
    @Column(name="bank_type_name")
    private String bankTypeName;

    /**
     * 开户行
     */
    @Column(name="bank_name")
    private String bankName;

    /**
     * 银行卡号
     */
    @Column(name="bank_card_no")
    private String bankCardNo;

    /**
     * 开户名
     */
    @Column(name="bank_user_name")
    private String bankUserName;

    /**
     * 付款状态（0：未付款 1：已付款）
     */
    @Column(name="pay_status")
    private Integer payStatus;

    /**
     * 付款时间
     */
    @Column(name="pay_time")
    private Date payTime;

    /**
     * 付款说明
     */
    @Column(name="pay_note")
    private String payNote;

    private static final long serialVersionUID = 1L;
   
}